package com.apps.saspect;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * 时间锁,用于处理请求频率限制,指定某个方法只能多少秒请求一次,需配合@JoinKey使用,否则会对整个方法限制
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface CallTimeLock {

    //默认请求时间间隔限制,秒为单位
    long seconed() default 1;

    TimeUnit unit() default TimeUnit.SECONDS;
    //错误消息
    String errMsg() default "请求频率过快,请稍后再试";
}
